#--coding=utf-8--

#迭代
#默认情况下dict 迭代的是key

lis = {'a':1, 'b':2, 'c':3}
for key in lis:
    print key


#迭代value
lis = {'a':1, 'b':2, 'c':3}
for key in lis:
    print  lis[key]


#判断一个对象是可迭代对象呢？方法是通过collections模块的Iterable类型判断

from collections import Iterable
isinstance(lis,Iterable)

print isinstance('abc', Iterable) # str是否可迭代
print isinstance([1,2,3], Iterable) # list是否可迭代
print isinstance(lis, Iterable) # dict是否可迭代
print isinstance(123, Iterable) # 整数是否可迭代


# dirt 方式定义字典

tmpok = dict([("name","zs"),("age",55)])

print(type(tmpok))
print(tmpok.get("name"))


# 当关键字是简单字符串时，有时直接通过关键字参数来指定键值对更方便


dir01 = dict(name="zs", age=78, score=1200)

print(type(dir01))
print(dir01)



# 获取值 
# 第二种方法当 key 不存在的时候会返回 None

print(dir01['name'])

print(dir01.get('name'))


# 修改
dir01['name'] = 'zsgirl'
print(dir01)



#同时输出key和value
#1
for key in lis:
    print key , lis[key] 
    print key
    print lis[key]

#2通过迭代的方式输出值和value

for key, value in enumerate(lis):
    print key,value


#同时引用两个变量 

for key, value in [(1,1),(2,4),("b","c")]:
    print key, value 






#http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868196435255fcca20a1630446ea2dd434a7176e152000






 
